1. Field
The present disclosure generally relates to the display of data on an electronic device, and more particularly to the use of a computing device to process data for display.
2. Description of the Related Art
Computing systems with displays commonly provide graphical displays using a compositor, which is software responsible for combining visual elements from separate sources into a single image creating an illusion that the elements are parts of a same scene. The compositor commonly runs as two threads: a compositor thread and a main thread. Threads are small sequences of programmed instructions that can be managed independently by an operating system scheduler.
The compositor thread is responsive to input from a user, such as scrolling input, and draws rasterized content (e.g., an image converted from description in a vector graphics format to a raster image) to a display that is responsive to the input. The main thread is responsible for running scripts (e.g., Javascript), layout, style recalculation, and the rasterisation of content (e.g., the task of taking an image described in a vector graphics format, such as shapes, and converting it into a raster image, such as pixels or dots, for output) to be displayed. The process of rasterisation by the main thread, however, is long and intensive, particularly for the system's central processing unit (CPU). As a result, rasterized content is often not provided to the compositor thread for display in a timely fashion, resulting in long delays when attempting to update content on a display and/or missing content from the display.